match 1, [] with
| _, (_ as a :: _) -> ()
| (_ as a :: _), _ -> ()
| _, (_ as a :: _) as b -> ()
| (_, (_ as a :: _)) as b -> ()
| _, (_ as a :: _) :: _ -> ()
| _ -> ()
